#ifndef __MY_MESSAGE__
#define __MY_MESSAGE__
#include <iostream>
#include <thread>
#include "util.hpp"
#include "level.hpp"
namespace ken_log
{
    struct LogMsg
    {
        time_t _ctime;          // 日志产生的时间
        LogLevel::value _level; // 日志等级
        std::string _file;      // 源文件名称
        size_t _line;           // 源文件行号
        std::thread::id _tid;   // 线程id
        std::string _payload;   // 日志器的主体消息
        std::string _logger;    // 日志器名称
        // 在构造函数中进行初始化,线程id和时间不需要在构造函数中传递
        LogMsg(LogLevel::value level,
               std::string file,
               size_t line,
               std::string payload,
               std::string logger)
            : _ctime(util::Date::now_time()) // 调用函数获取当前系统时间
              ,
              _level(level), _file(file), _line(line), _tid(std::this_thread::get_id()) // 获取当前线程id来进行初始化
              ,
              _payload(payload), _logger(logger)
        {
        }
    };
}
#endif
